Index: /i2c-tools/branches/i2c-tools-3.1/eeprom/decode-dimms
===================================================================
--- /branches/i2c-tools-3.1/eeprom/decode-dimms	(revision 6043)
+++ /branches/i2c-tools-3.1/eeprom/decode-dimms	(revision 6063)
@@ -1740,5 +1740,5 @@
 sub get_dimm_list
 {
-	my (@dirs, $dir, $file, @files);
+	my (@dirs, $dir, $opened, $file, @files);
 
 	if ($use_sysfs) {
@@ -1750,4 +1750,5 @@
 	foreach $dir (@dirs) {
 		next unless opendir(local *DIR, $dir);
+		$opened++;
 		while (defined($file = readdir(DIR))) {
 			if ($use_sysfs) {
@@ -1770,10 +1771,10 @@
 	}
 
-	if (@files) {
-		return sort { $a->{file} cmp $b->{file} } @files;
-	} elsif (! -d '/sys/module/eeprom') {
-		print "No EEPROM found, are you sure the eeprom module is loaded?\n";
+	if (!$opened) {
+		print STDERR "No EEPROM found, try loading the eeprom or at24 module\n";
 		exit;
 	}
+
+	return sort { $a->{file} cmp $b->{file} } @files;
 }
 
Index: /i2c-tools/branches/i2c-tools-3.1/CHANGES
===================================================================
--- /branches/i2c-tools-3.1/CHANGES	(revision 6048)
+++ /branches/i2c-tools-3.1/CHANGES	(revision 6063)
@@ -5,4 +5,5 @@
   decode-dimms: Decode module configuration type of DDR2 SDRAM
                 Decode bus width extension of DDR3 SDRAM
+                Don't choke when no EEPROM is found
   i2c-dev.h: Minimize differences with kernel flavor
              Move SMBus helper functions to include/i2c/smbus.h
